使用Android Studio检测内存泄露 |
您所在的位置:网站首页 › android studio 内存监控 › 使用Android Studio检测内存泄露 |
内存泄露,是Android开发者最头疼的事。可能一处小小的内存泄露,都可能是毁千里之堤的蚁穴。 怎么才能检测内存泄露呢? AndroidStudio 中Memory控件台(显示器)提供了一个内存监视器。我们可以通过它方便地查看应用程序的性能和内存使用情况,从而也就可以找到需要释放对象,查找内存泄漏等。 熟悉Memory界面打开日志控制台,有一个标签Memory ,我们可以在这个界面分析当前程序使用的内存情况。 我们点击dump java heap 这个按钮,APP会Freeze住。大概几十秒后, dump成功后会自动打开 hprof文件。 如果我们想了解内存分配更详细的情况,可以使用Allocation Traker来查看内存到底被什么占用了。 点击Starg Allocation Tracking按钮。开始分配追踪,过一些时间后,点击Stop Allocation Tracking结束追踪的位置。停止追踪后 .alloc文件会自动打开。 LeakCanary是square公司推出的一款简单粗暴的检测内存泄漏的工具。 LeakCanary会检测应用的内存回收情况,如果发现有垃圾对象没有被回收,就会去分析当前的内存快照,也就是上边MAT用到的.hprof文件,找到对象的引用链,并显示在页面上。这款插件的好处就是,可以在手机端直接查看内存泄露的地方,可以辅助我们检测内存泄露。 在应用的Application onCreate方法中添加LeakCanary.install(this),如下: public class ExampleApplication extends Application { @Override public void onCreate() { super.onCreate(); LeakCanary.install(this); } }应用运行起来后,LeakCanary会自动去分析当前的内存状态,如果检测到泄漏会发送到通知栏,点击通知栏就可以跳转到具体的泄漏分析页面。 关于LeakCanary的更多分析可以查看这里。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |